﻿#region Using directives
using Blazorise.Localization;
#endregion

namespace Blazorise.DataGrid;

/// <summary>
/// Handlers for custom datagrid localizations.
/// </summary>
public class DataGridLocalizers
{
    /// <summary>
    /// Custom localization handler for 'new' button text.
    /// </summary>
    public TextLocalizerHandler NewButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'edit' button text.
    /// </summary>
    public TextLocalizerHandler EditButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'delete' button text.
    /// </summary>
    public TextLocalizerHandler DeleteButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'save' button text.
    /// </summary>
    public TextLocalizerHandler SaveButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'save changes' button text.
    /// </summary>
    public TextLocalizerHandler SaveBatchButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'cancel changes' button text.
    /// </summary>
    public TextLocalizerHandler CancelBatchButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'cancel' button text.
    /// </summary>
    public TextLocalizerHandler CancelButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'Filter' button text.
    /// </summary>
    public TextLocalizerHandler FilterButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'Clear Filter' button text.
    /// </summary>
    public TextLocalizerHandler ClearFilterButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'first page' button text.
    /// </summary>
    public TextLocalizerHandler FirstPageButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'last page' button text.
    /// </summary>
    public TextLocalizerHandler LastPageButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'previous page' button text.
    /// </summary>
    public TextLocalizerHandler PreviousPageButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'next page' button text.
    /// </summary>
    public TextLocalizerHandler NextPageButtonLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'items' text.
    /// </summary>
    public TextLocalizerHandler ItemsLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'items per page' text.
    /// </summary>
    public TextLocalizerHandler ItemsPerPageLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'total items' text.
    /// </summary>
    public TextLocalizerHandler NumbersOfItemsLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for modal 'row edit' text.
    /// </summary>
    public TextLocalizerHandler ModalRowEditLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for modal 'row create' text.
    /// </summary>
    public TextLocalizerHandler ModalRowCreateLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'edit' text.
    /// </summary>
    public TextLocalizerHandler EditLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'create' text.
    /// </summary>
    public TextLocalizerHandler CreateLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for 'Drag a column header here to group by that column' text.
    /// </summary>
    public TextLocalizerHandler DragAndDropGroupLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Contains' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodContainsLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Starts With' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodStartsWithLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Ends With' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodEndsWithLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Equals' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodEqualsLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Not Equals' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodNotEqualsLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Greater Than' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodGreaterThanLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Greater Than or Equal' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodGreaterThanOrEqualLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Less Than' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodLessThanLocalizer { get; set; }

    /// <summary>
    /// Custom localization handler for FilterMethod 'Less Than or Equal' text.
    /// </summary>
    public TextLocalizerHandler FilterMethodLessThanOrEqualLocalizer { get; set; }
}